package com.sinosoft.brokerchannel.entity.vo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.sinosoft.brokerchannel.base.bins.AppMain;
import io.swagger.annotations.ApiModel;

import java.util.List;

@ApiModel(subTypes = {PackageSYVO.class, PackageJQVO.class})
public class PackageVO {
	/*
	 * 即时生效标志
	 * */
	private String cImmeffMrk;
    public String getcImmeffMrk() {
		return cImmeffMrk;
	}
	public void setcImmeffMrk(String cImmeffMrk) {
		this.cImmeffMrk = cImmeffMrk;
	}
    /**
     * 起保日期
     */
    private String tInsrncBgnTm;

	/**
     * 申请单号
     */
    private String cAppNo;
    /**
     * 产品代码
     */
    private String cProdNo;
    /**
     * 保险协议
     */
    @JsonProperty(value = "SaleList")
    private ArraySaleInformationVo arrayList;
    /**
     * 终保日期
     */
    private String tInsrncEndTm;
    /**
     * 平台查询码
     */
    private String cQryCde;
    /**
     * 保单形式
     */
    private String cPlyTyp;
    /**
     * 手续费比例
     */
    private String feeProp;
    /**
     * 基本信息
     */
    @JsonProperty(value = "BaseVO")
    private BaseVO baseVO;
    /**
     * 条款信息
     */
    @JsonProperty(value = "CvrgList")
    private ArrayOfCvrgVO arrayOfCvrgVO;
    /**
     * 车辆信息
     */
    @JsonProperty(value = "VhlVO")
    private VhlVO vhlVO;
    /**
     * 车船税信息
     */
    @JsonProperty(value = "VsTaxVO")
    private VsTaxVO vsTaxVO;
    /**
     * 特别约定信息
     */
    @JsonProperty(value = "FixSpecList")
    private ArrayOfFixSpecVO arrayOfFixSpecVO;
    /**
     * 系数信息
     */
    @JsonProperty(value = "PrmCoefVO")
    private PrmCoefVO prmCoefVO = new PrmCoefVO();
    /**
     * 计提救助基金比例
     */
    private String nFundRate;
    /**
     * 计提救助基金金额
     */
    private String nFundAmount;
    /**
     * 浮动率
     */
    private String nIrrRatio;
    /**
     * 应交基准保费（折前）
     */
    private String nBasePrm;
    /**
     * 应缴保费（折后）
     */
    private String nPrm;
    /**
     * 失败原因
     */
    private String cerrRes;
    /**
     * 是否成功
     */
    private String flag;
    /**
     * 核保状态
     **/
    private String cUdrMrk;
    /**
     * 核保状态信息
     */
    private String cUdrMsg;
    /**
     * 渠道代码
     */
    private String channelCode;
    /**
     * 被保人信息
     */
    @JsonProperty(value = "InsuredVO")
    private InsuredVO insuredVO;
    /**
     * 车主信息
     */
    @JsonProperty(value = "VhlownerVO")
    private VhlownerVO vhlownerVO;
    /**
     * 发票类型
     */
    private String cInvType;
    /**
     * 流程信息
     */
    private AppMain appMain;
    /**
     * 申请状态
     */
    private String appStatus;
    /**
     * 优化错误信息
     */
    private String cerrResNew;
    /**
     * 转保验证码
     */
    private String cHeckCode;
    /**
     * 承包验证码
     */
    private String cAppValidateNo;
    // add by gouyanqi date:2018-3-26 reson:RM-4704 承保转人工核保 begin
    private String cTonageNumsFlag;
    // add by gouyanqi date:2018-3-26 reson:RM-4704 承保转人工核保 end
    private String tReadTm;
    private String tTReadTmJQ;
    private String tTReadTmSY;
    private String cinstMrk;
    private String dataSrcForB2B;
//    金额更新标志
    private String moneyFreshFlg;
    //RM-4126 更新脱保规则脱保提示语及-车险渠道 start by wangxiaodong 2018-01-26
    /**脱保软提示语*/
    private String softMessage;

    public String getSoftMessage() {
        return softMessage;
    }
    public void setSoftMessage(String softMessage) {
        this.softMessage = softMessage;
    }
    //RM-4126 更新脱保规则脱保提示语及-车险渠道 end by wangxiaodong 2018-01-26
	public String getMoneyFreshFlg() {
		return moneyFreshFlg;
	}
	public void setMoneyFreshFlg(String moneyFreshFlg) {
		this.moneyFreshFlg = moneyFreshFlg;
	}
    @JsonIgnore
    public List<FixSpecVO> getFixSpecList() {
        if (arrayOfFixSpecVO != null) {
            return arrayOfFixSpecVO.getFixSpecList();
        }
        return null;
    }
    @JsonIgnore
    public List<SaleBXInformationVo> getSaleList(){
        if (arrayList != null) {
            return arrayList.getSaleList();
        }
        return null;
    }
    public ArraySaleInformationVo getArrayList() {
        return arrayList;
    }

    public void setArrayList(ArraySaleInformationVo arrayList) {
        this.arrayList = arrayList;
    }
    public String getcAppNo() {
        return cAppNo;
    }

    public void setcAppNo(String cAppNo) {
        this.cAppNo = cAppNo;
    }

    public String getcProdNo() {
        return cProdNo;
    }

    public void setcProdNo(String cProdNo) {
        this.cProdNo = cProdNo;
    }

    public String gettInsrncBgnTm() {
        return tInsrncBgnTm;
    }

    public void settInsrncBgnTm(String tInsrncBgnTm) {
        this.tInsrncBgnTm = tInsrncBgnTm;
    }

    public String gettInsrncEndTm() {
        return tInsrncEndTm;
    }

    public void settInsrncEndTm(String tInsrncEndTm) {
        this.tInsrncEndTm = tInsrncEndTm;
    }

    public String getcQryCde() {
        return cQryCde;
    }

    public void setcQryCde(String cQryCde) {
        this.cQryCde = cQryCde;
    }

    public String getcPlyTyp() {
        return cPlyTyp;
    }

    public void setcPlyTyp(String cPlyTyp) {
        this.cPlyTyp = cPlyTyp;
    }

    public String getnFundRate() {
        return nFundRate;
    }

    public void setnFundRate(String nFundRate) {
        this.nFundRate = nFundRate;
    }

    public String getnFundAmount() {
        return nFundAmount;
    }

    public void setnFundAmount(String nFundAmount) {
        this.nFundAmount = nFundAmount;
    }

    public String getnIrrRatio() {
        return nIrrRatio;
    }

    public void setnIrrRatio(String nIrrRatio) {
        this.nIrrRatio = nIrrRatio;
    }

    public String getnBasePrm() {
        return nBasePrm;
    }

    public void setnBasePrm(String nBasePrm) {
        this.nBasePrm = nBasePrm;
    }

    public String getnPrm() {
        return nPrm;
    }

    public void setnPrm(String nPrm) {
        this.nPrm = nPrm;
    }

    public String getcUdrMrk() {
        return cUdrMrk;
    }

    public void setcUdrMrk(String cUdrMrk) {
        this.cUdrMrk = cUdrMrk;
    }

    public String getcInvType() {
        return cInvType;
    }

    public void setcInvType(String cInvType) {
        this.cInvType = cInvType;
    }

    public String getcHeckCode() {
        return cHeckCode;
    }

    public void setcHeckCode(String cHeckCode) {
        this.cHeckCode = cHeckCode;
    }

    public String getFeeProp() {
        return feeProp;
    }

    public void setFeeProp(String feeProp) {
        this.feeProp = feeProp;
    }

    public BaseVO getBaseVO() {
        return baseVO;
    }

    public void setBaseVO(BaseVO baseVO) {
        this.baseVO = baseVO;
    }

    public VhlVO getVhlVO() {
        return vhlVO;
    }

    public void setVhlVO(VhlVO vhlVO) {
        this.vhlVO = vhlVO;
    }

    public VsTaxVO getVsTaxVO() {
        return vsTaxVO;
    }

    public void setVsTaxVO(VsTaxVO vsTaxVO) {
        this.vsTaxVO = vsTaxVO;
    }

    public PrmCoefVO getPrmCoefVO() {
        return prmCoefVO;
    }

    public void setPrmCoefVO(PrmCoefVO prmCoefVO) {
        this.prmCoefVO = prmCoefVO;
    }

    public String getCerrRes() {
        return cerrRes;
    }

    public void setCerrRes(String cerrRes) {
        this.cerrRes = cerrRes;
    }

    public String getFlag() {
        return flag;
    }

    public void setFlag(String flag) {
        this.flag = flag;
    }

    public String getChannelCode() {
        return channelCode;
    }

    public void setChannelCode(String channelCode) {
        this.channelCode = channelCode;
    }

    public InsuredVO getInsuredVO() {
        return insuredVO;
    }

    public void setInsuredVO(InsuredVO insuredVO) {
        this.insuredVO = insuredVO;
    }

    public VhlownerVO getVhlownerVO() {
        return vhlownerVO;
    }

    public void setVhlownerVO(VhlownerVO vhlownerVO) {
        this.vhlownerVO = vhlownerVO;
    }

    public AppMain getAppMain() {
        return appMain;
    }

    public void setAppMain(AppMain appMain) {
        this.appMain = appMain;
    }

    public String getAppStatus() {
        return appStatus;
    }

    public void setAppStatus(String appStatus) {
        this.appStatus = appStatus;
    }

    public String getCerrResNew() {
        return cerrResNew;
    }

    public void setCerrResNew(String cerrResNew) {
        this.cerrResNew = cerrResNew;
    }

    public String getcAppValidateNo() {
        return cAppValidateNo;
    }

    public void setcAppValidateNo(String cAppValidateNo) {
        this.cAppValidateNo = cAppValidateNo;
    }

    public ArrayOfCvrgVO getArrayOfCvrgVO() {
        return arrayOfCvrgVO;
    }

    public void setArrayOfCvrgVO(ArrayOfCvrgVO arrayOfCvrgVO) {
        this.arrayOfCvrgVO = arrayOfCvrgVO;
    }

    public ArrayOfFixSpecVO getArrayOfFixSpecVO() {
        return arrayOfFixSpecVO;
    }

    public void setArrayOfFixSpecVO(ArrayOfFixSpecVO arrayOfFixSpecVO) {
        this.arrayOfFixSpecVO = arrayOfFixSpecVO;
    }

    public String gettReadTm() {
        return tReadTm;
    }

    public void settReadTm(String tReadTm) {
        this.tReadTm = tReadTm;
    }

    public String gettTReadTmJQ() {
        return tTReadTmJQ;
    }

    public void settTReadTmJQ(String tTReadTmJQ) {
        this.tTReadTmJQ = tTReadTmJQ;
    }

    public String gettTReadTmSY() {
        return tTReadTmSY;
    }

    public void settTReadTmSY(String tTReadTmSY) {
        this.tTReadTmSY = tTReadTmSY;
    }
    @JsonIgnore
    public List<CvrgVO> getCvrgList() {
        if (arrayOfCvrgVO != null) {
            return arrayOfCvrgVO.getCvrgList();
        }
        return null;
    }

    public void setCvrgList(List<CvrgVO> cvrgList) {
        this.arrayOfCvrgVO = new ArrayOfCvrgVO();
        arrayOfCvrgVO.setCvrgList(cvrgList);
    }

    public String getcUdrMsg() {
        return cUdrMsg;
    }

    public void setcUdrMsg(String cUdrMsg) {
        this.cUdrMsg = cUdrMsg;
    }

    public String getCinstMrk() {
        return cinstMrk;
    }

    public void setCinstMrk(String cinstMrk) {
        this.cinstMrk = cinstMrk;
    }

    public String getDataSrcForB2B() {
        return dataSrcForB2B;
    }

    public void setDataSrcForB2B(String dataSrcForB2B) {
        this.dataSrcForB2B = dataSrcForB2B;
    }

    public String getcTonageNumsFlag() {
        return cTonageNumsFlag;
    }

    public void setcTonageNumsFlag(String cTonageNumsFlag) {
        this.cTonageNumsFlag = cTonageNumsFlag;
    }
}
